$(document).ready(function () {

    $('#pop-wrapper .x-4-move').dragging({
        move: 'both',
        randomPosition: false,
        handler: '.panel-heading'
    });
    
    /*保存*/
    $('#pop-wrapper .btn-4-save').off('click').on('click', function () {
        var id = $('#pop-wrapper input[name=id]').val();
        if (id) {
            ajaxSubmitResponseJSON({
                url: 'role/modifySource.htm/' + id,
                method: 'POST',
                data: $('#pop-wrapper form').serialize(),
                success: function (data) {
                    if (data.status == 0) {
                        closeLayer();
                    }
                }
            });
        }
    });

    /*隐藏/显示子权限*/
    $('#pop-wrapper .btn-4-shrink').off('click').on('click', function () {
        var pxDataTr = $(this).closest('tr.Px-data');
        if ($(this).hasClass('icon-shousuo')) {
            $(pxDataTr).nextUntil('tr.Px-data').hide('slow');
            $(this).removeClass('icon-shousuo');
            $(this).addClass('icon-zhankai');
        } else {
            $(pxDataTr).nextUntil('tr.Px-data').show('slow');
            $(this).removeClass('icon-zhankai');
            $(this).addClass('icon-shousuo');
        }
    });

    $('#pop-wrapper tr.Px-data input:checkbox').off('click').on('click', function () {
        $(this).closest('tr.Px-data').nextUntil('tr.Px-data').find('input:checkbox').prop('checked', $(this).prop('checked'));
    });

    $('#pop-wrapper tr.x-data td > input:checkbox').off('click').on('click', function () {
        $(this).closest('tr.x-data').find('td > em > input:checkbox').prop('checked', $(this).prop('checked'));
        var ALL = $('#pop-wrapper tr.x-data td > input:checkbox').length;
        var checked = $('#pop-wrapper tr.x-data td > input:checkbox:checked').length;
        if (ALL == checked) {
            $(this).closest('tr.x-data').prevAll('tr.Px-data:first').find('input:checkbox').prop('checked', true);
        } else {
            $(this).closest('tr.x-data').prevAll('tr.Px-data:first').find('input:checkbox').prop('checked', false);
        }
    });

    $('#pop-wrapper tr.x-data td > em > input:checkbox').off('click').on('click', function () {
        var em = $(this).closest('em');
        var ALL = $(em).find('input:checkbox').length;
        var checked = $(em).find('input:checkbox:checked').length;
        if (ALL == checked) {
            $(this).closest('tr.x-data').find('td > input:checkbox').prop('checked', true);
        } else {
            $(this).closest('tr.x-data').find('td > input:checkbox').prop('checked', false);
        }

        var Lv2ALL = $(this).closest('tr.x-data').find('td > input:checkbox').length;
        var Lv2Checked = $(this).closest('tr.x-data').find('td > input:checkbox:checked').length;
        if (Lv2ALL == Lv2Checked) {
            $(this).closest('tr.x-data').prevAll('tr.Px-data:first').find('input:checkbox').prop('checked', true);
        } else {
            $(this).closest('tr.x-data').prevAll('tr.Px-data:first').find('input:checkbox').prop('checked', false);
        }
    });
});